//
// Created by lwj66 on 24-6-6.
//

#ifndef TEST_6_6_SEQLIST_H
#define TEST_6_6_SEQLIST_H
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

//根据需求设置
#define INIT_CAPACITY 4
#define TYPESPECIFIER "%d "
typedef int slType;

typedef struct SeqList
{
    slType* sl;
    int size;           //有效长度
    int capacity;   //实际容量
}SL;

//初始化
void slInit(SL* ps);

//扩容
void slGrow(SL* ps);

//头插/删  /  尾插/删  /  指定位置插/删
void slPushFront(SL* ps, slType value);
void slPopFront(SL* ps);
void slPushBack(SL* ps, slType value);
void slPopBack(SL*ps);
void slInsertAT(SL* ps, slType value, size_t index);
void slRemoveAT(SL* ps, size_t index);

//打印
void Printf(SL* ps);

//销毁
void slClear(SL* ps);

#endif//TEST_6_6_SEQLIST_H
